/**
* 函数描述
*
* @param {string} p1 参数1的说明
* @param {string} p2 参数2的说明
* @param {string} p3 参数3的说明
*@return{Object} 返回值的描述
*/
function foo(p1,p2,p3){
    var p3=p3 || 10;
    return {
        p1:p1,
        p2:p2,
        p3:p3
    }
}

/*js规范*/
    //1.变量 使用Camel命名法
        var loadingModules={}
   // 2.私有属性、变量和方法以下划线_开头
        var _privateMethod={}
   // 3.常量,使用全部字母大写，单词间下划线分隔的命名方式
        var HTML_ENTIY={}
   // 4.boolean类型的变量使用is或者has开头
   // 5.不要在Arry上使用for-in循环

/*jq规范*/
//1.存jq对象可以以$开头
//2.在父元素中选择子元素可以使用.find()方法性能会更好
    //not recommended
    var $productIds=$("#products .class")
    //recommended
    var $productIds=$("#products").find(".class")

/*性能优化*/
    //浏览器遍历DOM元素的代价是昂贵的。最简单的优化DOW树查询当一个元素出现多次时可以将其保存在一个变量避免重复
    //recommended
        var mylist="";
        var myListHtml=document.getElementById("myList").innerHTML;
        for(var i=0;i<100;i++){
            mylist+"<span>"+i+"</span>";
        }
        myListHtml=mylist;